Move audio handling to its own class.

Trying to clean up the SauceEngine. A lot of stuff is removed for now as
many changes are afoot.
Remove Edit/Multi mode

we always in multi mode now on the main pad.
Move controller/pad motionevent handlers out to methods.
Remove drawable parameters and enablers.

Coming soon... TABS
Add TabManager to manage tabs.

Tabs have a main pane, and also a selector. There is only one currentTab
open at a time
Add switch tab functionality

booyan
Don't set controller position on every draw

Just set it anytime the layout changes.
Tabs can be toggled off, expanding the pad area.
Centralize layout proportions in one static file.
Rename getOrElse to openOr

Maybe I just shouldn't try to do functional programming in an imperative
language.
Clean up some visual elements + cuter tab selectors.
Have RectButtons maintain onClick handlers

Because that's the point of a button, duh.
Rename Tab's tabs to panels

The Tab is the parent level element that has a selector and a panel.
Move TabSelector package
Add Basic Looper tab

It's got a button. Also, our Drawable interface is becoming more robust:
knowing where it is and if it contains a point.
Add Fingerable interface and return when being touched

That sounds dirty.
Always remove pointer_up from fingersById tracking
Add foreach to Boxes
Have fingerable elements handle touch events

When a finger is first pressed, we propagate the touch event down the
views until something matches. When (If) something matches, we return it
and set it to fingersById. This way, next time the finger id is seen, we
deliver the touch event directly to the fingerable. This gets us the
benefit of a finger is pressed on an element, and as the finger moves
away from that element, the element still responds to events (e.g.
knobs).
Properly layout buttons on a tabPanel