Merge pull request #5 from dbieber/master

Support for Chrome, Firefox, and Safari (instead of just Chrome)
Update with emscripten 1.7.8 (with asm.js)

* speex api calls to be prefixed with _
* changed buffers allocation to be ALLOC_NORMAL
instead of ALLOC_STATIC as it brings assertion
errors with latest emscripten.
* faster with asm.js
Cleanup, and update dist file.

* Cleanup Makefile.
* Minification giving errors with 2 errors
with closure_compiler in the emscripten generated code.
* Added two quirks in `src/types.js` when using
libspeex.js with -O3.
Implement encode/decode times using UserTiming API
NR_MEASURES_PER_SEC is the nr of frames encoded

* 40 frames is around 8000 samples
which means 1 second.
Added User Timing API polyfill.
Fixed markup in the main page.
Fixed polyfill link
Improvements and Wideband mode support.

* Now .decode() receives an additional argument
to specify the segments, being the first the audio
stream.
* SpeexEncoder.quality_bits still remains but no longer is
used.
* Wideband mode support.
* speex_packet_to_header breaks most of the times. So
Speex.parseHeader comes to rescue it it fails. Most of times I
try to use whatever speex provides.
* Ogg constructors receives an additional option "file" so that
the ogg stream data is all the pages instead of the first two
being headers and the remaining data.
Demo app (small) refactor

* Fixing metrics CSS for mobile
* Update Speex.JS
* Added new "audio.js" for decode wrapper
and audio element URL replacement.
More example samples
Preliminary support for an Ogg muxer

* BitStrings changed to resemble more of
Erlang bit syntax
* Update parsing SpeexHeader and SpeexComment
to use new Bitstrings
* Ogg muxer changed API to (de)mux instead (un)pack

TODO:
- need to fix granule position and checksum. for
 now they are always 0 which means that libogg
 fails to create the bitstream with invalid
 checksums.
Update app regarding the support for file encoding
Added some tests for ogg
Add CRC32 calculation for OGG
Fix null checksum in ogg muxer (for speexdec)

* Files encoded by speex.js are now working with
speexdec
Removed an unnecessary test.

* Was testing muxing the header with a precalculated
checksum and comparing against the original header page.
Ogg.mux now takes care of checksum so this test
doesn't make sense.
Update dist speex