InputController now handles re-registering other controllers after a deactivation of another control

The bug is fixed in testing. There is still some funny business around the system blindly re-registering all controls each time a control is reregistered that could be simplified.  The duplicate detection should probably be stripped out since we have a binding level associative array that can be used for duplicate detection now.
We should get rid of that commented code