Further work on hull shader phases (issue #32)

Previous code was limited to a single join phase and no more than two
fork phases. Support for input and output patch constants is still
incomplete.