A topos-theoretic approach to non-commutative topology