Implement full shadow rendering

Cool, it all works now.