Added eventmanager registery, etc.

Did some fine-tuning of the event system and how it handles 'receivers'
(objects that can receive and distribute events). Said receivers now
register with the eventmanager, which is now a 'global' in core,
providing a set of signals they are set to listen for.