Add cursor_char_column env variable
Add Buffer::run_hook_in_own_context helper method
Add BufWritePre and BufWritePost hooks