[RFC] Add `feedkeys` API function part 2

Cleaning up after #916

- I've split the f_feedkeys() function from eval.c into a reusable feedkeys()
- Now the API vim_feedkeys should work just like the vimscript feedkeys(String keys, String mode)
- Added new vim_remote_send(String) API for compatibility w/ Vim --remote-send

The documentation of `replace_termocodes` is not up to date (cannot "fail" anymore because of new alloc functions). After this function call `result` will always be equal to `ptr` and `ptr` is not `NULL`.  I think this check can be removed.
Or is an empty string an error (`*ptr` is a char, so it should compare to `NUL`)?