CQG algebras: A direct algebraic approach to compact quantum groups