[FIX] product: precision of uom

Increase the hardcoded precision of 12 on factor and factor_inv to 53 to avoid rounding errors.

e.g. a unit with a factor_inv of 6.0 used to be computed as:
factor_inv: 6.0 -> factor: 0.166666666667 (1.0/6.0, rounded to 12 digits) -> factor_inv: 5.999999999988 (1.0/factor)
which could lead to errors such 12*0.166666666667 = 2.000000000004 instead of 2.0

The digits precision of (15,53) is an arbitrary value (sys.float_info.dig, sys.float_info.mant_dig) to minize the risk of errors with higher fractions but does not remove it.
An high digit value is necessary otherwise the orm would set the value as float8 instead of numeric (and limit the precision to 15 decimal digits, which is not enough for simple ratio like 1/6).
In stable version we can not change this (not ideal) behaviour and use numeric everywhere but will do in master.

Added the option display_digits on float fields in views, to overwrite default value of [69,2].
[FIX] product: view of product.uom

Add readonly attribute to avoid sending both factor and factor_inv value.
This was possible if the user switches between uom_type to fill the two fields.