Several improvements

I like the idea, it can be very useful.

So I made the interface more complex and updated Twig and Plates renderers to suit new interface requirements.

Also added a PHP renderer class and an abstract class, which will be used later