I would say leave it in the *.Loader namespace as it will make it easier to find when working with your IDocumentLoader implementations.
I would say its best to colocate your factories with the type(s) they create. A factory is a provider of something, and should be associated and proximate to the things it provides. If you follow the rules of cohesion, then you would come to the same conclusion. Related things should be close together to maintain a cohesive API.
Because the code that uses your factory needs have absolutely no knowledge of the implementation in the abstract factory pattern, I usually put the interface and the factory (plus any type information) into the root, then the implementations into their own folders (or folder if there are few).
So in your case I have something like:
Loader
- DocumentLoaderFactory
- DocumentLoadType
- IDocumentLoader
Loader\Implementation
- NameDocumentLoader
- TypeDocumentLoader
- ConnectionDocumentLoader
- DocumentLoader
I've assumed that DocumentLoader is an abstract base class that inherits your interface because of it's name, but you get the idea. I don't know what your other class "TreeViewImageIndex" is for but you could put it in either place or somewhere completely different if it's appropriate.
This keeps your code nice and cohesive, does not require your implementing class to know about the Loader\Implementation namespace and lets your document tree be easier to read.