Reverts "cannot change reserved vars" rule. This should be enforced
in the editor (when creating user vars), but not in the engine.

The current restriction breaks runtime language change via effects.
All tests refactored (can be skipped in review, probably)
Refactor in engine construction process
Needed for later commits
Parameter to schema
Added parameters to components
Added parameters to effects
Added TextComponent, as generic class to deal with expressions
LabelComponent supports expressions
TextButton supports expressions
Updated initializer
Merge pull request #638 from anserran/varsintext

Labels now process expressions in texts
Merge pull request #644 from manuel-freire/fix-reserved-vars-immutability

Reverts "cannot change reserved vars" rule. This should be enforced
Merge pull request #646 from anserran/dynamiccomponent

Added parameters to effects and components
Simplified engine utils; fixed test
Removed behaviors
Behavior converted to a component
API changes
Tests fixed
CoolDemo updated
Merge pull request #645 from anserran/behaviorssimpl

Behaviors component removed. Now Behavior is a type of component.