Updates:
- use wrap(::CArg,...) for all wrap functions
- fix @c macro, hopefully for good this time
- add @ctypedef macro to properly resolve symbols
- fix enum generation
- documentation