[refactor] Protect the drawers!
[rename] Abstract.IAttributeToProjector -> IAttributeToProjector
[minor] use correct interface type for Drawer draw methods
[minor] Slightly improve jsdoc