Reverse order of overloaded h() type definitions
Reverse order of overloaded h() type definitions

For overloaded functions, TypeScript reports errors based on the last of
the overloaded definitions. For `h`'s overloaded definitions, the string
version is currently last. When type checking of an `h` call fails (for
example, due to a missing prop, or due to an incorrect prop type),
TypeScript simply says "Argument of type 'typeof OurComponent' is not
assignable to parameter of type 'string'." This patch switches the order
of the `h` definitions, so that the h<P> version comes last. This makes
TypeScript report a more specific error that will include missing props,
etc.

developit/preact,developit/preact