ensure @:to type is inferred correctly if return type is Dynamic
insert abstract casts to/from Dynamic only if cast function is strictly to/from Dynamic as well
add test for issue 2685 (closes #2685)
deal with member macro calls the same way as static extensions (closes #2003)
do not wrap constants used as static extension or member macros (closes #2720)
do not check for equality of core-type abstracts when checking their variance to other types
define UInt to Int instead of @:to Int so variance is possible (closes #2718)