Optimizations:
- don't parse a road ref if there is no shield drule
- don't process a shield drule if there are no road shields in a ref
- call ClipSplineByRect() once per linear feature (not for each line drule)
- calculate areaDepth for BG-by-size areas only
...and many minor things like replace redundant checks with asserts, less params wrapping and passing, simpler structure, etc.
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>