Assembler lib

These changes in short separate the global assembler (`VectorMatrixAssembler`) from the local assembler types (almost) and add a possibility to provide a specific local assembler for each element or element type.
A simple usage is shown in the tests (last commit), though very simplistic.

I'm open for name suggestion for the `SimpleAssembler`.
The new name is better than the previous one. I assume that ``builder`` has functionality to set material properties, numerical integration method  and others that needed for local assembly in an element.  

to