API: Implement vim_list_runtime_paths
API: Implement vim_change_directory
API: Move helper functions to another module
API: Implement buffer_{get,set}_line
API: Extract error boilerplate into a macro
API: Implement vim_set_current_line
API: Move vim_to_object to helpers.c
API: Implement vim_{get,set}_var
API: Implement vim_{get,set}_option

Some functions from upstream VIM were reintegrated for this:
- get_option_value_strict
- set_option_value_err
- set_option_value_for
- unset_global_local_option
API: Implement vim_{out,err}_write
API: Implement vim_get_buffer_count
API: Implement buffer switching functions
API: Implement window/tabpage switching functions

Also moved `find_buffer` to 'api/helpers.c' and removed unnecessary declaration
in 'window.h'
API: Implement buffer_get_length
API: Implement buffer_{get,set}_slice
API: Refactor buffer_{get,set}_line

They are now implemented on top of the buffer_{get,set}_slice functions
API: Implement functions for deleting lines
API: Implement buffer_{get,set}_var
API: Implement buffer_{get,set}_option
API: Implement buffer_{get,set}_name