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.
Add a way to get the filmstrip widget in the proxy.

This is needed to connect a DnD signal to it.
Remove an image from the map when dropped into the filmstrip.
TBS: record undo when removed.