Put entity message loop checking inside debug clause so purposeful recursion doesn't incorrectly trigger as an endless loop.
Substantial Update - Revisited component event handling and made some structural changes:
 - component-level "addListener", "addListeners", "removeListener", and "removeListeners" methods have been deprecated in favor of "addEventListener", "removeEventListener", and "removeEventListeners" with syntax similar to equivalently named DOM JavaScript methods.
 - There is no longer a component-level conflict between events and methods having identical names. In the same vein, this['event-name']() can no longer be used to run an event's associated handler: events must be triggered at the entity level.
 - All standard components have been updated to use the component factory.
Added "messenger" class and implemented child event triggers on `entity-container` as event listeners instead of looping through all children.
`entity-container` messaging bug fixes.
Documentation updates for `messenger` implementation.

If you upgrade a game designed using an older version of the engine, you must include {"id":"Messenger", "src":"../engine/messenger.js"} in config.js above the entity inclusion.
Enabled adding variant HTML templates per build in config.json.
Local methods bugfix for `entity-linker`.
Deprecated listeners throw warnings instead of errors.
Put in better logging and instructions for deprecated "message" component parameters.
Updated `handler-logic` to trigger "handle-post-collision-logic" so entities can address state changes due to collisions before rendering.
-Made sure the handler looked for entities that listened for 'handle-post-collision-logic'
-Adding drag and drop
Updated component deprecation warnings and fixed bug in `logic-button` component.
Documentation updates.
Merge branch 'master' of R:/platypus
Fixed bug in compiler regarding local file paths.
Made "handle-render-load" check for a stage before attempting further execution.
Removed console logs from `voice-over` component.
Attempting dependency management on Platypus.
Handles JS dependencies and platformer.classes.className shelved in favor of the more common platformer.ClassName syntax.