New property optimizer (second attempt)

This is a second attempt at merging in my new property optimizer:  
This pull request contains a new property optimizer which can perform advanced optimalizations on a CSS selector body. It fixes the following issues: #173,  #134, #168, #164, #184, #190

NOTE: support for font, animation, transition and border haven't been added to #134 yet but all the enablers are in place.

Remaining work:

* Enhance the new property optimizer to completely replace the old one. At this moment it just runs an additional step after the old one's code.
* Optimize performance of the new property optimizer

I'm willing to work on these items, but since the new optimizer is already usable, I suggest merging it in now and dealing with the above later.