Part 1 of T7487
This adds new classes to the python API that will allow people to create filterlayers, clone layers, grouplayers, filelayers, filllayers, vector lyers, and more.
Unlike the previous version we can now actually set the reference for the clone layer, or the filter on the filterlayer.
It also adds a very simple vector shapes API so we can do something with the vector layers, but sadly, I haven't been able to get it to return anything sensible... (if the layer has any shape in it, QList<Shape*> will return as None...)