Part size comparison for layout sometimes fails

Internally a part size may become a float value
because of some scaling and calculations done.
This may result in incorrect comparisons when
trying to place the part on a board. The board
might fail to place because of minor discrepancies
between actual size and computed values even
though the part fits within the accuracy of the
model unit scale selected. The comparisons are
now done to the accuracy of the model.
Optimize decimal character, undo and status text

Decimal character determination has been optimized
using  a hack suggested by ThomThom in his TT_Lib_2/locale.rb
Undo operation have been removed as they were found
to be unnecessary. Status updates (text on lower bar
of Sketchup display) now display progression of the
Cutlist generation and clean up when done.

Version increased to v4.1.12
Replace .typename with more efficient .is_a?

Entity types in Sketchup can be face, group, componentinstance
etc. The API publishes the recommended way of distinguishing
them by method .typename. However typename is a string and a
string comparison is relatively slow so a faster way is to
to test it with the .is_a? against Sketchup::Face,
Sketchup::Group, Sketchup::ComponentInstance for example.
This method has been show to be about 80% more efficient
and is the recommended method (though though not readily
appearing in the documentation).
Merge branch 'experimental'