Project cleanup

A number of major changes here including:

1. Bare bones OS X app added to test parallel performance (not great).
2. Restructured project to group common code.

The actual performance results from parallel dispatch of the sections of the solver was rather disappointing. There was a modest boost in framerate on iOS (ARM64) but a significant loss in framerate when dispatching the solution to more than 1 queue on OS X (Haswell). I suspect that this is due to the fact that they are writing to different parts of a shared buffer and that is what is causing the performance issues. It is probably destroying the effectiveness of the cache and flooding the memory bus. The only effect I had by increasing the queue count was to use more CPU for the same or less results.