Add a Factory.unregister method

When using multiple screens, we have found the inability to re-use class names in the factory very restrictive. Initially I favored having 'Factory.register' override previous registrations, but realized this might break compatibility.

In order to achieve flexibility and compatibility, I thought adding a "Factory.unregister" would be best. This allows class names to be re-used at will, whilst maintaining the current behavior. This pull request (hopefully) will achieve that.