Have you considered using the Unity3d game engine. It is a game engine that can run in the browser, on IOS or Android so it could be a good option for you to investigate and will run faster than canvas/js. Either way the following source code and discussion links should give you some ideas.
There is a very active discussion thread over on the unity forums. A few people were making a Minecraft clone for learning purposes. Eventually one of them released the full source code and project files online here http://www.filefactory.com/file/b48a41e/n/MinePackage.unitypackage.
Here is a video of someone demoing a Minecraft clone they are making in Unity http://www.youtube.com/watch?v=ADnPbeg1aXk. So it is definitely possible.
If you are interested in using voxels you can look at the VoxelForm unitypackage here http://www.voxelform.com/. The cool thing about this is it can do a lot more than just blocks see this demo video http://www.youtube.com/watch?v=Fc-VQL8VyIY of it being used with infinite terrain.