Allow keywords to include underscores and digits too.

Digits are not permitted at the beginning though, since that makes them
ambiguous with numbers.
Fix equality overloads on solids/facets.
Don't share facets array between Solid instances.

(In other words: mutable-collection-type-as-parameter-default schoolboy
error.)
Parsing for Binary STL.