Physics and shaders

Resolves #13. Resolves #16. Resolves #23. Resolves #27.