* rpc call from server to client are now limited with a timeout,
raising an exception on the server side at the end of the timeout.
* session: add a function to know if a session needs distant calls or not
* cellules calls from server to client are also limited with the same
mechanism if the session needs distant calls
* the exception is caught by sessions and cellules handlers on the server
side, making so that the sessions are not blocked anymore by client
errors
* add some javascript exception catcher arround execution of
message handlers to avoid to kill a client in case of a non fatal error.
The current action (e.g. a click on a specific button) is aborted,
but the state of the client remain consistent :

The origin of the problem is that
id_gui_area = "foo"
default_css = css #{id_gui_area} { } ;
is rewritten into an application expression. so it is considered expansive
and can't be generalized. The type of the expression is
ordered_map(Css.entry, map(string, 'v0), Css.order)
with the 'v0 being not generalizable.
In fact, the deeper issue is the fact that we are not able to write
in Opa the type of Map_make showing the type of values of the map.
So we are not able to force these values to have a constrained type.
We would like to be able to have a "'value Map('key, 'order)" or
something like that.
So, to workaround, we added a field to the module Css_private and a
constraint on this field stating that values are of type
list(Css.prop_value_item). Hence, this constraint gets propagated and
the type of the module contains no more type variables.
The added field "renames" (is an alias on) the field "empty" of maps and
is the one used in parsers_utils.trx to rewrite CSS constructs.