Create ClojureScript output for paint

The HSLMixer tests had to change due to ClojureScripts lack of ratio
support. I've switched them to converting everything to floats and then
comparing them with some error.

Macros can only be clj so we have a new namespace where these will live.

The current API of paint has been exported so that when building with
advanced optimizations everything doesn't get shaken away and so that
external users can access the functions.

This also includes a page to host the outputted javascript. It will be
expanded to demonstrate the library in action.
Create substrate with w, h and attributes

Previously if you wanted to provide custom attributes for the substrate
then you would also have to provide a mixer and chronos. This was a bit
of a pita so I've added another signature that will accept just a width,
height and attribute map still defaulting the mixer and chronos.
Add initial substrate visualisation

I want to be able to visualise the various moving parts of Cockshott's
algorithm and have put the start of substrate visualisation in using Om.
Add SVG warning

If the user is using this example in a browser that doesn't support SVG
we should warn them so they don't just think the whole page is broken.