refactor: first attempt at splitting out guard assertions from spritzjs core and into a high-level facade, allowing the user to opt-in or out of guarding entry points. probably incomplete though attempted to sync documentation and example code. guards not currently optimised
refactor: removed redundant guard code from spritzjs.js. added IIFE for facade (slaps own wrist). justified Object.freeze usage