if the value reference is a ELEMENT reference, do report that instead 
so that LocalTypes with prototypes that can have record types inside
them are reported really as a good function
support for apply and call (both returning the actual return value of
the method where that is called on), bind (returning hte actual parent
method) and Object.create() now returning an object of the type given
including the properties 

added tests
fix for re-assignment to prototype.
make sure the visibiltiy is passed around
type def params don't have to have names, make sure we fallback to type
name or else anon_1
variable arguments support in type def function definition.