Base rendering api, and simple triangle rasterization