Remove need for parentAdjust in ScreenEntity and add UIMenuDivider

A lot of commits but they're pretty small. The main changes are:

- Reworked ScreenEntity's _onMouse*() methods so they no longer need the parentAdjust argument which means that hitTest() can now be called from outside the _onMouse*() calls (which I needed for the next thing). The big thing this means is that you can have more complex transforms on ScreenEntities and hitTest() will still work.
- Added UIMenuDivider which puts a horizontal dividing line in a menu and changed the IDE's ProjectBrowser to use it instead of a normal UIMenuItem named "-------".
- Made a bunch of methods const.
- Fixed a bunch of warnings on OS X. The Core and IDE projects are nearly warning free.
- A handful of other miscellaneous other small fixes/changes.

I posted about the ScreenEntity stuff in the forums but I never got any kind of reply so I just went ahead and got to work on the minimum amount and eventually went even less invasive than that (I ran into too many that would touch too much stuff and I wanted to keep things constrained to just ScreenEntity as much as possible).

Sorry there's so much in here. Feel free to reject what you don't like. I'll fix and resubmit.