[extension-settings] pass settings hash to extension run()

A #441 alternative.