Renamed some functions to improve consistency

Any functions that create a widget and add it to a window are now
appended with "_setup" as opposed to "_new" in order to differentiate
them from functions that create a widget but by default do not add them
to any windows
Improved buffer handling massively

Each buffer now has it's own text view widget and command box widget,
this means that text and scrolling position between buffers is
automatically maintained when switching buffers. In addition, switching
widgets seems to be much faster then switching the buffer in a
GtkTextView widget, and it also seems to have fixed the automatic
scrolling issues.