Use Shader2DShadow for shadow maps
Organise and document shadowing code
Broaden shadow volume to cover the whole map