Some cleanup and performance changes while learning about the internals.
Fingerprint string creation optimized by guesstimating the string builder size.
'class' id selector condition check changed so that it doesn't have to allocate a string builder/buffer.
Changed LinkedList to ArrayList in Ruleset to reduce memory footprint.
BorderPainter no longer allocates an Area when filling a patterned line.