purify difference scheme API

`matrix()` method returns exactly the semidiscrete matrix, without any timestep
knowledge. This will make classes more reusable and separates interests better