Added custom types for line joins and caps.
Swaped usage of LineJoin and LineCap from cairo to custom.
Added a module for the future cairo backend with some smaller utilities.
Removed Cairo from the names of types.
Create custom types for font properties.
Further converts for the new custom font types.
Moved rendering functions that use cairo into the backend module.
Readded the Types module to resolve cyclic dependencies.
Types module now exported.
Resolved errors from moving stuff around. Made abstract CRender based types concrete and unified their render methods in Backend.Cairo