minor refactoring within the MenuItem hierarchy
added IScreenDimensionsProvider interface
added HierarchicalObject base classes
added IInvalidatable interface
collapsed HandleInput logic down a bit
added default xtor