refactor models.py

Big refactoring in models.py, to make things actually "work"
Some changes in tests.py:
=> add title attribute to all elements and connections (in test1 only)
=> InputImage gets the initial data via set_value() instead of the
constructor
=> for the result, we call element_output.result() instead of
element_output.number