Special case for shielding of generated content wrappers

Only shield GC wrappers if they wrap content which can't be shielded,
i.e. text nodes or void nodes (childless nodes such as img or hr).

When we do skip GC wrappers, ensure all the child nodes are wrapped.

Add ve.isVoidElement in the same style as ve.isBlockElement.
Remove ve.isBlockElementType and replace with overloading of ve.isBlockElement.

Bug: 51933
Change-Id: I8a532b20c96dbca77a005aab2f98531365058107
Merge "Special case for shielding of generated content wrappers"