extract template for listing js tests

- This puts the scripts and the test list together in one nice spot.
rename static directory to client
rename glsl directory to shaders
create server and shared directories

- Move server code into a server directory to make it more clear what is
  on the server side vs client side.

- Move the templates under a shared directory since they have logic that
  is dependent on both the server and client due to the quirky nature of
  web apps.
push specific template logic into template library
consolidate small handler files into one
move templates into client directory
clean up template utils