Fallback automatic differentiation for Hamiltonian
Jax now supports matrix valued automatic gradients with `jacfwd()`
- Remove Hamiltonian
- (optional) rename DifferentiableHamiltonian to Hamiltonian
- use `jacfwd()` as fallback when no gradient is defined
see also #89 #99
issue