Audio improvements

This is an extension on https://github.com/mono/MonoGame/pull/2251

While merging together and cleaning up the Sound API, I found a couple of bugs and reimplementations of code. This PR further unifies functionality between the multiple platforms.

A lot is changing here, so we'll need some pretty extensive testing from those that can lend a hand.

Some fixes were included from others: https://github.com/mono/MonoGame/pull/2262 and https://github.com/mono/MonoGame/pull/2118