Use the same definition for ClassBase#== on all platforms

This means the implementation is slightly slower than necessary on
non-java platforms, but this seems a reasonable tradeoff for removing
complexity.
Improve class description
Make struct arguments work in JRuby

JRuby's FFI needs an explicit to_native to convert descendants of
StructBase to their native nested structs.
Remove unused class VFuncBase
Only provide #full_type_name where it is correct
Unify conversion of boolean to callback ffi type
Downgrade non-fixable FIXME to NOTE
Resolve FIXME