Cycles: preview rendering support for world/material/lamp.

Patch by Sergey, .blend by Thomas and some further tweaks by me.

Still to solve later: allow external engines to specify own preview .blend, for
now the code here is doing too much magic hacking on the preview scene still.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@54153 954f8c5b-7b00-dc11-b283-0030488c597c