Bug of the wrong multiplicand was fixed in the weight unapplying
Imports were optimized for some classes.
The zero weight value was renamed to weighless.
The weightless value was imported to the layout class.
Layout's maxWeight evaluation was changed to use duck typing.
Useless 'implicit' word was removed from the implicit class.
Grams and kilograms operations were added to the implicit converter.
The 'weight' function value was added to be used as a final statement in the weight expressions.
Standard 'g' and 'kg' values definitions were changed to use the new way of definition.
The weight coefficien class was renamed according it's created from int.
Float weight coefficient implicit class was added.

This class contains a multiplication operation that discards too small parts of the float
(e.g. '1 gram weight * 1.000000001' is the same as '1 gram weight' but
'1 kilogram weight * 0.1' is eqivalent to the '100 gram weight').
Also this class contains a kilogram creation operation which also discards too small parts
(e.g. '1.00000001 kilogram weight' is the same as '1 kilogram weight' but
'1.01 kilogram weight' is eqivalent to the '1010 gram weight').
Floating kilograms pattern matching was simplified.
The definition of the 'kg' value was nicened.
Duck type matching was removed (pure type check was returned back).
An attempt to use scala.util.Try to simplify unapplication of the weight was performed.
IDEA insists to put parentheses to the toString() method. She was made happy.
Yet another import optimization was performed.