1. SoundEngine Settings for number of sounds, etc
   ####COMPLETE####


2. O(1) buffer adding

   - stack-like array (size in settings)

   - pointer to next available slot

   ####COMPLETE####


3. Loop Music

   - thread that sleeps for duration of song and wakes up to play 
     the song at beginning

   ####COMPLETE####


4. Music overlays (1..n simultaneous bg musics)

   - the 0 (zero) index overlay will be considered the main bg music, 
     all others are "on top" of it

       - consider removeMusicOverlays() method that stops all overlays 
         except the main bg music overlay

   - overlays will be controllable by index references.
     (e.g.  public void PauseMusic(int overlayIndex);
      where overlayIndex is the desired overlay you want to pause 
      without affecting the other overlays)

       - prevent 0 (zero) reference here as it is not an "overlay", but 
         the main bg music

   - pauseMusic(), stopMusic(), playMusic(), etc. will act on all active 
     overlays, including main bg music

   - overlays will also loop.
