Change DOM object for event listeners

Listening on the canvas missed events when the axes SVG overlay was displayed.
The SVG axes being above the canvas.  Instead, add the event listeners to the
encapsulating container and catch them.
Separate out Style Sheet
CSS whitespace cleanup
CSS reorganize properties.

Logically group some properties.  No functional change.
Separate out the JavaScript code to a dedicated file.
Whitespace cleanups for JavaScript