markers directive support for expressions

@aesnyder @gitnik @kandizzy @cthrax @zacronos 

So this might cause a movement to 2.1.0 as this is a breaking change to how Markers handles functions. IE it will no longer call functions within a model. Instead it will call expressions which expect a model as a argument. At the same time it evaluates objects, and function al string expressions in html as well. 

If it the expression results in a string then it falls to the models properties. This functionality is already there for polyline, polylines polygon, and polygon(s)
so I think the bugs with no updates working with 'self' were due to this. Model needs to be cloned (which means lodash **not** lodash.underscore is a dependency). That is unless we change the cloning utility. 

Also instead of cloning we could do comparisons against gObjects instead of model to model. This would require less memory but a lot more code to change. This PR is big enough right now.