Simple Plugin system for Javascript

Goal is to make it possible for apps to inject code into classes.
Real use case is the FileList instances.

Registering a plugin with `OC.Plugins.register("OCA.Files.FileList", plugin)` makes it possible for the plugin to be called for **every** instance of `OCA.Files.FileList` and gives them a chance to modify its state (for example add columns, register actions, etc).

This is required for the favorites app, used to add a "star" column here: https://github.com/owncloud/metadata/pull/2/files#diff-f322429cb3a473127be65bbb8859131bR142



@icewind1991 @MorrisJobke @schiesbn what do you think ?