Move rendering functionality to separate class (part1)

Needs nice review.
Please have deep look into SDLRenderDevice.cpp code. (mainly context initialization). I didn't review it.
Some notes will be added into code comments.