add O_SYNC flag to /dev/mem open call

This calling convention is widely used when opening /dev/mem from userspace.  It avoids issues with the cpu caching writes to BCM peripherals by ensuring writes don't return until the value hits physical memory.  It should allow relaxing or eliminating the udelays between writes in init_hardware().