here is a patch for implementing auto-scrolling (map will scroll if you move the mouse to the edge of the screen). the feature is a boolean option that is available from the startup options screen under display.
majority of actual code is in the CanvasMouseMotionListener and the equivalent class for the MapEditor. Code has been refactored slightly.
This should be the final version unless further functionality is added. It could use more comments but it is fairly self explanatory.
attached is the patch that implements the function to the latest build.