Consolidate posix and osx simulators to reduce duplication

General changes:
* use pios common drivers instead of identical sim copies
* make osx and posix simulated drivers identical wherever possible
* use pios common header files wherever possible even for custom sim drivers
* bring the sim makefiles as close together as possible (not identical yet)
* with @peabody124's help, we've removed almost all pios casts of pointers to uint32_t which fails on 64-bit host machines.

Noteworthy:
* osx and posix custom driver are all identical now except pios_delay.c and should probably be factored out so we have a single PiOS.sim directory.

Both sim_posix_revolution and sim_osx_revolution build for me on linux and the posix sim seems to run properly.