rewrote engine to use EaselJS

This was a really big commit as it involved changing a ton of things to
get EaselJS working. Lots of new assets as well. The code is still
really messy and needs a lot more work but I've recovered all
functionality except for the camera.