Fixed bytestring error and implemented more vim-like behavior.

Fixed error passing a bytestring into view.replace so that filtering through shell works ":'<,'>!<command>".
Implemented vim-like behavior of deselecting the replacement text and placing the cursor at its start (working for multiple selections).