restructured source files and introduced separate module for UIKit related stuff
introduced system versioning preprocessor macros