Expand allowed directive attributes, be a lot more defensive.

value can now be a 0xRRGGBB, '#RRGGBB', or any sk.Color.IHSL:
a { hue:number, saturation:number, lightness:number }.
Can also accept a hue, saturation and lightness attribute.
Added a inner-size attribute, defaulted to 85% of size.