Make floating point conversion routines work even when not 16 bytes aligned.

This simply uses C-code instead of SSE code if neither of the destination nor origin are 16-bytes aligned
Adjustment to float conversion routines

We originally made the conversion routines use a symmetrical range of -32767 - 32767 which always cause -32768 to be clipped to -1.0. However, SSE clipping code changed that behaviour making the C-code conversion routine behave differently to SSE code. Converting S16 samples wouldn't always be in the -1.0 .. 1.0 range causing clipping later on.

Also, due to the forthcoming change to the transcoder, S16 -> Float -> S16 needed to be lossless which the previous code didn't abide to.
Add libmyth/audio unit tests

Currently only test float format conversion routines.
Don't make some AudioOutput members fully virtual.

Default implementation being that they return false