Added LitVertex type

To simplify software rendering, I added a lit vertex type and extract
the rasterization process.
Tile-based culling makes it faster

Software rasterizer is faster with tile-based culling. Needs better
triangle edge detection. Will resort to a scanline based approach then
add perspective-correct texture sampling.