Add custom properties to function-based styles, and simplify method signatures

Add support for custom properties in function-based styles. For example, if you want to use a variable inside your ```filter``` function, you can define & access it like so in the scene definition:

```
    buildings:
        properties:
            min_height: 50
        filter: function () { return feature.height >= properties.min_height; }
```

In this example, the ```properties``` block defines custom properties which can be modified by any JS outside of the scene definition (e.g. a GUI control, etc.). These can then be accessed inside any dynamic functions, e.g. ```properties.min_height```. Re-rendering with a different building height filter now only requires changing the value of ```buildings.properties.min_height```, and then calling ```scene.rebuild()```.