Sonifizer: Update the sonifizer js module

A number of structural changes to the sonifizer script.
More details will be provided shortly, here's an overview
of the goals and what was added:

- use a module pattern, surrounding the implementation in an
anonymous function

- make sonifizer a constructor that can be used to manage
multiple sonifizers in js, constructor available on window

- add the ability to specify options like data and seconds
when you construct a sonifizer

- support changing the seconds through a seconds method

- support changing the data through a data method

- provide a load method which uses the XMLHttpRequest
object, allowing the module to work without jQuery in
all modern browsers ( IE9 and up ). The load method both
sets and returns the corresponding dataURL source.

- provide an audio method which generates an audio
element to be used as seen fit. The audio method
will attempt to use sonfizier._src by default,
or an arbitrary source you pass to it
Test: Add an initial suite of tests for sonifizer
README: Update the readme with examples and API docs