* signals: make CSignalT API compatible with CSignal
Also fixes emitting reference types
* signals: add a lot of tests
* animation: use CSignalT
* signals: automatically const-ref non arithmetic value types
* signals: allow listeners to ignore args
* signals: add forward()
A signal called is allowed to free ourselves, in which case we're not allowed to use this anymore. Only perform the housekeeping of removing stale events before emit, and in registerListener.