Initial ProjectExplorer implementation sharing common code with PackageExplorer