Create before_parent_node and before_node

Conflicts:

	src/components/main/layout/construct.rs
	src/components/main/layout/wrapper.rs
	src/components/script/dom/node.rs
	src/components/util/slot.rs
Build box for pseudo-element :before and :after with display = inline.

Conflicts:
	src/components/main/layout/construct.rs
	src/components/main/layout/wrapper.rs
	src/components/script/dom/node.rs
	src/components/util/slot.rs
Modify to cover pseudo element :before with display = block

Conflicts:

	src/components/main/layout/construct.rs
	src/components/main/layout/wrapper.rs
Implement pseudo element :after & remove unnecessary funtions
Create before_parent_node and before_node

Conflicts:

	src/components/main/layout/construct.rs
	src/components/main/layout/wrapper.rs
	src/components/script/dom/node.rs
	src/components/util/slot.rs
Build box for pseudo-element :before and :after with display = inline.

Conflicts:
	src/components/main/layout/construct.rs
	src/components/main/layout/wrapper.rs
	src/components/script/dom/node.rs
	src/components/util/slot.rs
Modify to cover pseudo element :before with display = block

Conflicts:

	src/components/main/layout/construct.rs
	src/components/main/layout/wrapper.rs
Implement pseudo element :after & remove unnecessary funtions
Rebase PR
Refactoring
Modify methods to make relation with layout nodes
Remove unnecessary matchs and codes and modify some expression.
Create new method to generate Element and Text for pseudo and resolve memory leak problem by using new type LayoutPseudoNode
Modify layout node iterator to traverse pseudo element as well as DOM without connecting pseudo element to DOM
Change functions name to be not ambiguous
Add some function for pseudo_node and reduce duplication in construct.rs
change matching to get_ref and matching to mep
modify construct.rs for matching
rename value to _