Remove non-current window caching

API changes done:
- memoize additional_key function now accepts all function arguments
- get_theme now receives matcher_info
- render now receives segment_info and matcher_info, but segments and themes
  were removed
- due to very different ways of obtaining column information col_current
  splitted back to col_current and virtcol_current. The former should be false
  in case of horizontal scrollbind (when &scrollopt contains hor)
- added requires_segment_info decorator for convenience

Other changes:
- removed all vim function calls that were possible to remove
- removed direct vim.eval calls
Don't use kwargs as part of the memoize key

This should be fixed later (if at all possible). Also see discussion at
http://stackoverflow.com/questions/6407993/how-to-memoize-kwargs

Refs #205.
Use requires_segment_info decorator on shell segments