fixed runtime crash on iOS 7.1 device, possible fixed for OS X 10.9

* using `MIN_REQUIRED` postfixed macros instead of `DEPLOYMENT_TARGET` postfixed ones
* tweaked the preprocessor conditional to test against iOS 8 instead of 7 to avoid runtime dynamic library linker crash
* refactored preprocessor code to be more readable and maintainable