Move and refactor scrolling logic to the interface class

- Handle scrolling within the interface class (where it is probably more
  appropriate) and only use the buffer class for dumb storage and state

- Store the scroll position as an offset from the buffer's bottom and
  not from the top

These changes should also fix some bugs and issues with the old
scrolling system (scrolling past the content, etc.)
Add config manager.
Merge pull request #2 from veeti/scrolling

Move and refactor scrolling logic to the interface class
Make config a global shared pointer.
Make config load on startup and save on shutdown.
Fix json includes.
Use ncurses instead of ncursesw.
Make it possible to erase the next input character with Delete key.
Increase maximum number of available buffers.
Add split misc method.
Add join misc method.
Add visual caret indicator.
Fix commands parsing.
Update README.md
Add 'Troubleshooting' section to README.md
Update README.md
Merge pull request #3 from clpr/patch-1

Troubleshooting
Improve caret navigation behavior.

- Fixes an occasional segfault when manipulating input data.

- Reformats some code from previous pull request.
Merge branch 'master' of https://github.com/diath/Toxitty
Add Core class.