sl/adt_op: make OpFootprint a value type

... and move the algo API to the OpTemplate class
sl/adt_op: detect/vis container shapes in templates [work in progress]
sl/cont_shape: do not check heads in var-free SMGs