This code replaces glut with glfw. The motivation here is address the GPU driver bugs on Linux when using multiple `Display *` pointers with shared GL contexts instead of a single common one. GLFW has native access methods which provide access to its `Display *`, which appears to be unique among all the similar toolkits.
Details:
- Adds glfw and glfw-rs to the build
- Removes GLUT code and replaces it with GLFW versions
- Fixes hard coded initial window values
- Fixes clean targets
- Event loop doesn't block on windowing events anymore
script caches last loaded url -- currently no caching policy
naive caching of render layers for near-instant forward/back
handling evicted pipelines is currently broken