Compile under emscripten!

Changes:
- Move shaders into string literals. Ew.
- Refactor game loop for use with requestAnimationFrame()
- Add CMakeLists file for emcc. It's the only way I could figure out how
  to do it.
fix desktop compile