added support for an is_shadow flag on objects which marks them as a shadow. Shadows only draw on top of other foreground pixels, not over the background