Fix bug with Record child __init__ redeclaring parent's fields
Record __hash__
CanvasModel._move works without links, elements use new Record