Adds LMSPlugin - abstract class for all plugins

Wydzieliłem część funkcjonalności z przykładowego pluginu jako wspólną dla wszystkich ewentualnych pluginów, tj. szukanie handlerów, przekazywanie i odbieranie z nich danych. Powstała abstrakcyjna klasa LMSPlugin. Jej użytkownik musi zaimplementować w swoim pluginie metodę registerHandlers.

Poprawiono obsługę wielu pluginów jednocześnie - w przypadku braku handlera dla hooka zwracane są niezmodyfikowane dane.