Allows for a pointer reciever for the Marshaler interface

Fixes bug outlined in issue #290