Implement XMLList#hasOwnProperty

Fixes an exception in Ant Karlov's Santa game. Also, this is definitely used by a lot of content.
Remove all traces of float/float4

These never made it into the Flash Player.
Don't ignore flags when compiling multinames in AVM2 compiler

Otherwise, E4X attribute parts of queries are compiled to normal names: `xml.@foo` is compiled to the same JS as `xml.foo`.
Disable acid-blend reftest

I'm not entirely sure why I enabled it a few days ago: it's most definitely broken. Utterly.
Merge pull request #1878 from tschneidereit/master

Remove all traces of float/float4 from AVM2 stdlib
Take flags into consideration when converting MultiNames into QNames

The previous patch made the compiler respect flags, now the E4X parts of the runtime should, too.
Take URIs into consideration when comparing QNames in XML::descendants

Contains some refactoring of how QNames work, too.
Support delete operation on XML objects

Also included: some slight optimizations and a couple of unrelated TODO notes.
Fix calling prototype methods on XML and XMLList
Implement the `+` operator overload for XML and XMLList
Support numeric indexing in {XML,XMLList}.child()
Fully serialize XML and XMLList objects in toString if they contain complex content
Merge pull request #1879 from tschneidereit/e4x

Fixes to E4X support
Change C4 backend's `property` helper function to not use ...rest

Well, and split it up into two functions, one that takes the property name as string, the other as a Literal node.

Wrapping an indirect property lookup (such as `global.foo`) requires nested calles to `propertyFromFoo` now. But that's ok.

This avoids creating `Arguments` objects in IonMonkey.
Change ASClass#asCall to not use ...rest

With this change, the Richards benchmark is free of Arguments object creation in IonMonkey.
Merge pull request #1881 from tschneidereit/master

Get rid of Arguments object creation in IonMonkey by removing ...rest uses
Change shell DOM stubs for setTimeout and setInterval to only slice arguments if any optional ones are provided
Optimize functions that show up in profiles

By reducing indirection, monomorphizing functions, and moving slow paths into external functions so the fast path is jitted sooner.

Amazingly, this is a net-reduction of code size and, to some extent, complexity.
Merge pull request #1882 from tschneidereit/master

Optimize functions that show up in profiles
Bug 1103634 - Part 1: Emit call to asEquals for non-strict (in-)equality operators when at least one operands might be an E4X object

 Because those have to be compared structurally, so `==`/`!=` won't do.