Method renaming and improve window splitting methods

Made some of the method names more consistent with their vim functions,
going forward I will need to decide what convention to use when naming
methods that are similar to those in vim.

Also made the split window metods filename optional. When a filename is
None then the split is empty. These methods also now return the buffer
they create, so in the event a file isn't used it's easy to add text to
the windows, by adding it directly to the returned buffer