Implemented @dietsche's fork and lots of fixes

I implemented @dietsche's fork, which basically allows you to specify a
minimum amount of columns the screen needs to be able to output before
showing line numbers. I also added documentation to go with it.

~ Fixed/changed some stuff in documentation.
* Fixed a bug regarding the `g:numbertoggle_previouslyon` variable.
* Fixed some formatting stuff in the code.
+ Added some comments to stuff that wasn't previously commented.