Programmatic scroll now supports both horiz and vert scroll; various other code and doc fixes; code formatting; added programmatic scroll to the test