Fix #31: default marshallers for enum and pointer hooks

Add default in/out marshallers for:

 * enum hooks: fromIntegral . fromEnum and toEnum . fromIntegral;
 * naked and newtype pointer hooks: id and id;
 * foreign pointer hooks: withForeignPtr and newForeignPtr_;
 * foreign newtype pointer hooks: withPointerType (the generated
   function) and PointerType . newForeignPtr_.  The out marshaller is
   not great here: a !ForeignPtr with no finalizers is not terribly
   useful concealed inside the newtype.