Create main app menu

This pull request creates foundation for dynamically creating menu items from a plist file. A good abstraction is put in place, so that if we choose to read metadata for menu items from other sources, for example a remote service, all we need to do is create a new class that knows how to retrieve the metadata and have that class conform to the `MenuItemsReader` protocol. We can then easily replace the `MenuItemsPlistReader` class with the new one.

Here is how the basic app menu looks like now. It's a bit rough around the edges. UI polish work will be done later.

![screen shot 2014-08-03 at 4 30 18 pm](https://cloud.githubusercontent.com/assets/115379/3791695/8f74f54e-1b4d-11e4-98dc-d7c4638848a7.png)