DO NOT PULL!!!!!! delay-enyo-kind

DO NOT PULL - EXPERIMENT FOR PERFORMANCE WORK

Modify OOP system to delay most of the work for enyo.kind() until the kind is used for the first time. This deferral only happens if the kind has no static members, it has a name, and it doesn't have a truthy "noDefer" property.

Set enyo.Object, enyo.Component, and enyo.Control to noDefer since code runs at startup time to modify those kinds after definition.

Enyo-DCO-1.1-Signed-Off-By: Ben Combee (ben.combee@lge.com)