Overhauled events

Removed notification class ; reverted to old args/kwargs requirement.
Switched to new weak ref classes that handle bound and unbound methods
indifferently based on an active state recipe
Bounds is now a class

Switched bounds from namedtuple to class to allow more options at init
time
Bulletproofing events and references

Events are hash-able so they can be correctly ID (tests revealed that
dereferencing was not working - TDD FTW!)

Added tests
Testing auto-update on ObservableCollection

This is not stable, i’m checking in so I can move from mac where the
maya tests always fail to the PC
More efficient forms code

Gradually winnowing forms down to a smaller set of itertools based
layout routines