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)

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.