Made good progress on proper marshalling of data.

Unfortunately, I can't properly marshal enums yet, simply because the
data isn't available in wayland's protocol file. So they are simply Int
values at the moment.

Also need to fix the Maybe marshalling. Oh, and output marshalling!