Renamed Signal to SignalToUI

At this time it seems kinda dumb, but this is because I'm about to make
a SignalFromUI, so I this to not just be called Signal.
added template that spits out a C struct

The template builds the C representation of the Storable union struct. It
uses additional type information that has been added to SignalArg record.
added transitional signal structure

added a mirror data type using haskel C types to the bindings
template for transition through Storable.
modified signal struct template
removed transitional data type
removed unnecessary record field
Remove Slot and clean up Signal-based names

Slots are out, so remove the top-level of the dead code (probably more
to go later).
Try not to name any top-levels "signal" since both sides are signals
now.  Go with toUI/fromUI.
Generate SignalFromUI struct and peek function

A full representation of the SignalFromUI type on the C side, along with
a function on the Haskell side that can convert back to the Haskell
type.

This requires HaskadesBinding to use hsc2hs, which does the CPP itself
so GHC no longer needs to (though you need to be sure your settings CPP
is set up for hsc2hs).

hsc2hs cannot read C++ at all, so this necessitates a seperate header
file for some things.
Some more name cleanup
Initial QQueue based implemenatation

This completes the PoC for replacing Slots with a Queue of signals.
Remove unused stuff
Need blocking calls to be safe
Fix up some declarations
Mark exported symbols

This matters when building the shared library in release mode.
Forgot to set the tag.