Symmetric Edit Lenses: A New Foundation for Bidirectional Languages