Declare expressions for Mapnik 3.x

/cc @samanpwbb - this starts moving on one idea I discussed with you. The background is:

 - now in Mapnik 3.x almost all symbolizer properties can be expressions. This means that say, `marker-width` can either be a literal number like `2` or a string with something that will be dynamically evaluated like `"[some_field]"`;
 - We used to use `type:expression` in carto so that expressions could bypass validation, but this pull changes this to instead use `type` to mean the type that the property should be evaluated to and adds a new `expression` boolean for carto to know to skip validation.

With this in place I think it may may sense to add to the mbstudio docs to mark properties that are expressions with some subtle icon - let me know what you think.