New fractal.Viewport struct

New fracal.Viewport struct is used to define the
area of the fractal being rendered and the size
of the final image. Used it to alter the scale,
postion and rotation of the final image.

fracal.Render now return a fractal.Paletted_uint32
rather than a fractal.Monitor, the monitor must be
created then passed to the render as a param.