Cross-platform compilation

This PR adds support for cross-platform compiling and running of GanonBeep. This fixes several things related specifically to building and running the app on OS X, as well as adds bounds checking in certain areas, and tweaking some current selection checking.

The next step from here is doing a little code cleanup to make the app feel a bit more native to the different platforms (specifically moving around some of the menu items on OS X). This will be in a separate pull request.