Canonical general relativity