Split out the struct-building interface.
Tighten the union type representation.

Use an option instead of a bool.
Merge pull request #63 from yallop/split-out-structs

Split out the struct building interface
Optional custom printing for views.
Implement function pointers as a view.

This prepares the way for removing libffi from the dynamic semantics.
Merge pull request #64 from yallop/function-pointer-view

Implement function pointers as a view