TISTUD-5812 New platform shortcuts are not loaded after adding the platform in the TiApp
  - Allow programmatically adding/removing project listeners
  - Hide manager class behind interface, access through plugin so it can manage cleanup on plugin shutdown, rather than using global singleton.
  - Lazily instantiate listeners when necessary rather than upfront to avoid unnecessarily instantiating plugins.