feat #1331 Easily replace page configuration helper in page engine

This commit allows to extend the PageEngine class in order to change the page configuration helper.

Close #1331
Fixed an issue of widgets not working on some tactile devices.

On tactile devices, browsers use touch events, and can simulate mouse events as well.

Those mouse events are required for some of our widgets to work. This is notably the case with the `mousedown` event, and for the widgets:

- `Select`
- `RadioButton`
- `CheckBox`

However, the simulation of events does not always work as expected, and in practice the browser Safari on iOS does it only for clickable elements. This means that this doesn't work out of the box for `span` elements for instance, yet that's what we use in a lot of widgets.

Fortunately Apple provides a simple workaround in its documentation there: https://developer.apple.com/library/IOS/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW3

That's what has been implemented. Potential further issues related to the fact that now the concerned widgets are "unblocked" are not tackled by this commit.

Apart from that, this commit fixes a few typos found in the code while investigating.

Closes #1330