EZP-22517: ezxml header level handling is broken inside custom tags

JIRA: https://jira.ez.no/browse/EZP-22517

# Description

The server side parsing to transform the HTML from Online Editor to eZXML is buggy when a custom tag contains a header which level is greater than the header before the custom tag. The same happens when disabling Online Editor (ie while using the *ez simplified xml input parser*) with something like:

```xml
<header level="3">Heading 3</header>
<custom name="factbox" custom:title="factbox" custom:align="right">
  <header level="2">factbox</header>
</custom>
```
The header level is represented in eZXML by the number of section elements in the ancestors of the header element and this bug happens because the header elements are moved at different level without taking into account that it might be in a custom tags so basically, the header is moved out of its custom tag container. This patch makes sure the custom tag vs. header structure is kept while arranging the eZXML in both simplified xml input parser and in the OE one.

# Tests
manual tests + unit tests