dg1d: Rename `SpectralElement` to `DGElement` and generalize its purpose
Generalization should allow it represent DG operators that are not necessarily based on nodal approximations via Lagrange polynomials.
Atm we implement the nodal_bernstein
version, which is actually pseudo-nodal and not yet tested. Will be done in a follow-up PR.
Along the way we also implement some operators for Bernstein and Legendre bases.