To allow custom background, there should be new events map:on_pre_draw() and map:on_post_draw(). For now there is only map:on_draw(), which occurs after the map is drawn and before its menus are drawn.
A problem is that the background color of the tileset should not overwrite what is done in map:on_pre_draw(). Maybe the background color of the tileset should be optional, or maybe defining it should become a default background in case map:on_pre_draw() is not defined?