Decoupled shaders and HTML

Finished issue #2