Adding version number of JS engine to benchmark

It just makes sense to include version numbers of external libraries
into the benchmarks, since changing version numbers can change speed.
Minor package-pushing (refactoring)
Pumping up the private sector
Refactoring trait to use a type variable

It's just easier to deal with unification/parameterization this way
Adding SpiderMonkey support