[RFR] [Plugin] Create plugin engine on Php side for JS #10 #9

This PR includes commits for #9 and #10.


Ok, when do I need to add ``@covers`` annotation? I'm a bit confuse about it ^^'