Enable wrapped extensions to parse and RT correctly

* Temporarily hacked sanitizer to pass through typeof attribute
  so that mw:DOMFragment wrapper for extension tags can get to
  the DOM post processor and get unwrapped.

* Implemented getArgDict for the extension handler since data-mw
  for extensions has a different form than that for templates.

* Extracted common functionality into Util.js and used it in Cite.js
  and ExtensionHandler.js

* Tested with timeline extension (test snippet below) and verified
  that it parses and RTs both with editMode true and false.

  TODO: Long overdue. Extension testing.

--------
<timeline>
ImageSize  = width:250 height:200
PlotArea   = left:40 right:10 top:10 bottom:20
TimeAxis   = orientation:horizontal
AlignBars  = justify
Colors =
  id:gray1 value:gray(0.9)

DateFormat = yyyy
Period     = from:1960 till:2010
ScaleMajor = unit:year increment:10 start:1960

PlotData =
  bar:3000 color:gray1 width:1
  from:start till:end
  bar:2000 color:gray1
  from:start till:end
  bar:1000 color:gray1
  from:start till:end
  bar:0 color:gray1

LineData =
  layer:front
  points:(48,96)(84,111) color:blue  width:2 #1962 tot 1968. Inwonertal 1962: 1348 1968: 1610
  points:(84,111)(100,112)    color:blue    width:2 #1975: 1627
  points:(100,112)(128,116)   color:blue    width:2 #1982: 1699
  points:(128,116)(160,135)   color:blue    width:2 #1990: 2036
  points:(160,135)(196,146)   color:blue    width:2 #1999: 2217
  points:(196,146)(228,158)     color:blue    width:2 #2004/5

</timeline>
--------

Change-Id: Ia8d2f82e893047e2447cf809e04cc7f508f5899b
Merge "Enable wrapped extensions to parse and RT correctly"