Vector2D: Make Dot() and Cross() operators

* Scalar (dot) product
^ Vector (cross) product

Both produce floats, since the cross product of two vectors in the XY
plane yields a vector parallel to the Z axis
Vector2D: Add Length()
Audio: create AudioFile, AudioSource, Asset, Environment, AudioElement
AudioFile, AudioSource: clean up
Audio: rename private member variables to have more meaningful names
Audio: Wave files now play - fix AudioSource constructor
Merge pull request #7 from palistov/develop

Vector2D features
Asset: add virtual modifier to Load() and LoadAsync() signature
AudioFile: remove wav-specific logic
AudioSource: remove AudioFile member; Add IsPlaying property field
WavFile: creation and implementation
OggFile: creation
AudioSource: use property fields for sound properties
Environment: use property fields for listener properties
Assets: inherit from the correct Object class
Merge pull request #8 from jgcoded/audio

Audio Additions