The module system needs to know the dependencies of a given module
before executing the function. This is why the dependencies were
defined once in an array, and then were described one more times in the
call to require.
But a trick can simplify this: the boot function can parse the string
representation of the module and extract the calls to require from it.
It is more work for the processor, but it leads to simpler module
definitions.
- this time it's the restaurant module that has been refactored
- the point of sale extensions points have been reviewed to be more
constistent and allow conditional extensions.
- the chrome subwidgets are instanciated before screens, so that
screens can manipulate them if needed.