Feature/type refactor

Updating code to use CFTypes, more usable when dealing with Swift bridging.

Abstracted a lot of headers that didn't need to ship with the framework.

Code cleanup from headers to header+implementation.