Fix problem with updating value: it was not updated in a thread
Allow overriding renderer module with any module

Will be used in tests. Allows renderer modules (and extensions) that look like 
`foo.bar`: it will import `foo.bar` and not `powerline.renderers.foo.bar` like 
before.
Also catch keyboard interrupts while updating

This will skip segments and issue a warning to log.
Add write_lock to KwThreadedSegment

Otherwise it is not safe to use. ThreadedSegment does not need write locks.

New variant spends much less time locked in both threads
Rename update_state to branch in powerline.segments.vim.BranchSegment