Fix GL screensavers in non-direct mode.

DirectDraw is called only in direct drawing mode (BDirectWindow). Our GL
kit also works fine (but slower) in indirect mode (standard BWindow, GL
stuff rendered offscreen then blitted). However, for this to work we
need the screensavers to actually do something. Use the
BScreenSaver::Draw method, which is called in either case.

This makes it possible to use indirect mode for the preview of GL
screensavers. The performance isn't really a problem on the very small
preview (160x200 pixels).

Fixes GLife and Gravity. Flurry still crashes Mesa.
Make ScreenSaver preferences work again.

This reverts 0fb019bbf21e791ae1f7644652fea3697b3f3d9f. Making the window
a BDirectWindow isn't a good idea, especially if you want things other
than a direct rendering view in it. Moreover, this is completely
unneeded as GL works just as well in non-direct mode.
Convert PreviewView to layout kit

* Use a BGroupLayout with insets to make space for the monitor drawing
* Don't put the "no preview available" inside the view passed to
screensavers, this could confuse them
* Have the actual preview area (not including borders) be 160x120