Fixes #881 - Export component prototype methods on the HTMLElement

Here's a first pass. I kinda like the way this API feels -- it's important here that we're pretending the `can.Component` prototype is the `HTMLElement` prototype (with a couple of exceptions for other options).

See the test case for other/various little details about how this works.
Slight correction, I was still using the `[name]` form for access, and tried it again with the dot operator: The `new Function` version using the dot operator is now between 490ms-540ms, which is very slightly slower.

It's probably still slower because, unlike the functions that something like lodash will compile, this one is actually fairly tiny, simple, and still involves multiple dynamic lookups.

The real speedup comes when I remove that and put `___component` directly on the htmlelement:
```
	function makeComponentMethod(name) {
		return function() {
			return this.___component[name].apply(this, arguments);
		};
	}
```
completes the benchmark in 70-85ms. There is no noticeable difference between this one and the same version using `new Function`. Assuming this works at all on IE8 (I haven't tried, but I assume it does?), would you like me to use this version instead? :)