Make Invalidatable use Signal2<Changes, Sender>
 instead of FastList<IInvalidatable>.

Signal deals much better with unbinding while
 dispatching to the listeners. Also generates less
 garbage objects as Wires are free listed.
LayoutClient.invalidateCall optimization + comment

- Set sprite.name to ID for debugging
- Pre-allocate Wires for closer memory layout.
Cleanups.

- Check flags != 0
- Typo fix.
- Alignment.
- More #if !noinline …
Add #if FlashTrace, 

Btw: Didn't we have this before? Where'd it go?!
QueueManager reviewed.

Remove double null setting.
Add assert where it should be null.
Merge remote-tracking branch 'origin/haxe3' into signal2-invalidation
Fix flicker by making sure rendering is triggered!
  “A nasty old little bug, finally demolished”

A story about simplified Render and Layout
 validation queues. Both triggered by the
 majestic RENDER event,

It begins with Flash input event handlers asking
 for a Render event after processing of the event
 completes, if the display list has been modified.

Our protagonist (QueueManager) then fixes
 'flickering' in situations where layout
 or graphics is changed by input events.

It calls out to window: `invalidate()` in a loud
 but friendly voice, whenever something is
 added to a queue.
Now our friend from Adobe has a chance to notify
 the InvalidationManager and RenderManager to do
 what they do best.

It all ends in a single frame,
 with a happy validated ending.



Oh and a micro optimization in GraphicProperties.
Fix tooltip positioning missing padding when first
 initialized.
Validate UITextField layout ASAP.