Add client_id renderer argument to all shell bindings
Rename top_theme_config to main_theme_config

Reason: preventing name conflict (top-level theme is a theme from #783).
Move ZshPromptRenderer.render method to ShellRenderer
Wait for screen to initialize, based on screen exit status

Otherwise bash tests tend to fail randomly
Split Renderer.render() into .render() and .do_render()
Add output_width used for various shells
Add cursor_space and cursor_columns configuration options

Fixes #815
Do not repeat renderer module argument more then once
Add priorities to ipython and shell themes
Merge pull request #975 from ZyX-I/min_cursor_columns

Add cursor_space and cursor_columns options