The undo support is now based on a dt_undo_t struct on darktable object.

With this new desing it will be easier to have separate undo list for
different views if needed.

Change map view to use this new design.
Add mutex for the undo module.