Factored out code prototypes, constants, typedefs & macros into individual headers
Merge branch 'develop'