Handle wide-char string termination properly - always ensure at least 4 bytes of zero termination when passing strings to native, and search for 1, 2, or 4 bytes of terminating zeroes when reading from native.
Add copyright header
Add reflection based StructByReferenceFromNativeConverter
Rename the asm based StructByReferenceFromNativeConverter to AsmStructByReferenceFromNativeConverter
Move StructByReferenceToNativeConverter into the jnr.ffi.provider.converters package.
Add a metadata cache for ToNativeConverter and FromNativeConverters
Make @LongLong an alias for @int64_t
Add a type cache to avoid parsing annotations every time when resolving types