Refactors client javascript

I've modularized the javascript following the structure of jQuery internals. This has resulted in:

- ambrose-ui.js
 - defines global AMBROSE object.
 - defines AMBROSE.ui module / constructor.
- ambrose-util.js
 - defines AMBROSE.util object containing "static" methods.
- ambrose-detail.js
 - defines AMBROSE.detail module / constructor.
 - exposes a handful of public, overridable methods.
- ambrose-table.js
 - defines AMBROSE.table module / constructor.
 - again, exposes a few public methods.
- ambrose-chord.js
 - defines AMBROSE.chord module / constructor.
 - lots of private implementation, only two public methods.

Demo seems to work fine (no errors observed in console).