Introduction to Coalgebra: Towards Mathematics of States and Observation (Cambridge Tracts in Theoretical Computer Science)