Fix NaN values from hairy brushes
A hairy brush with ink deplation enabled for opacity, without
weights, would use unitialized data from Bristle::m_inkAmount
which would later get converted from double to float.
Bristle members are now always initialized, and intermediary
values clamped to correct range.
CCBUG: 344437