Reworks nested block merge handling

Changes the meaning of merge to the same as blocks. Adds pure
css and js merger (blocks with specific implementation). Any
block can have custom configuration but just <block> and <merge>
can contain further blocks (nesting allowed).