Implement `vim_command` API function
Implement `vim_eval` API function

The vimscript object conversion function was adapted from the version found in
'if_py_both.h' in the upstream source. It was also required to re-add the
`dict_lookup` function that was lost during the initial import.
Implement `vim_strwidth` API function
Implement `vim_list_runtime_paths` API function
Implement `vim_change_directory` API function
Move try/catch helpers to error-specific module
Implement `buffer_get_line` API function
Implement `buffer_set_line` API function
Implement `vim_get_current_line` API function
Extract API error boilerplate into a macro