Resolves #236 (Split OTCrypto files into interface and implementation)

See issue #236.
I think the EXPORT is needed for Windows.