Add atom_names property to XClient

- It's basically the atoms object property reversed.
- It'll be used to cache the atom names.
- Update InternAtom accordingly.
- Add some tests.