Reduce the namespace pollution from including the compyte headers,
notably, private function are no longer in public headers and all the
tricks to make the build work on windows and unix are now hidden.

Still exposed are the standard integer types since we use them in the
interface.