Consolidate offcanvas event binding

Conflicts:
	js/foundation/foundation.offcanvas.js
Add events & split presentational show/hide methods away from click handlers
Add offcanvas events to docs
Respect off-canvas event scope to allow for multiple off-canvas-wraps and programmatic triggering
Move off-canvas event docs to JS section
Add docs for programmatic show / hide / toggle of off-canvas
Merge pull request #5136 from davidgovea/off-canvas-events

Off canvas cleanup and event triggering