Be smarter about override methods: Take the overriden docstring if no new one is defined, while also preserving the function call spec.

This is a bit confusing if return values change (e.g. get_visible_range), but a bad doc is better than no doc.