Нужно ли строго следовать стандартам PHP при разработки CMS?
Следовать PSR - не догма, если вам безразлично будущее вашего проекта. Однако, если вы не хотите через годик сами запутаться где и что у вас лежит, если не хотите создать головную боль другим разработчикам (которые подхватят проект после вас) - PSR MUST HAVE.
Загляните, например, сюда. 
https://github.com/yiisoft/yii2-app-advanced
Посмотрите как там всё устроено.
TL;DR
Вы хотите потратить кучу времени просто так, увы. Если так хочется сделать cms - делайте, но возьмите за основу фреймворк, Silex например (лучше конечно Symfony, но там порог вхождения довольно высокий).
-----------------------------------------------------------
Use PSR-4 Luke!и в идеале мой namespace должен строится как:
lib\<имя поставщика>\< namespace>\< имя класса>.... >
Плохая идея, очень. Namespace стоит делать: < vendor >\< project >\<...>\ClassName
Подключив зависимости через composer вы столкнетесь с тем, что путь к конечному файлу будет:vendor/< vendor >/< project >/.../ClassName.php
И это вне зависимости от того, используется ли ваша cms, или нет. Путь всюду будет идентичным.с точки зрения проекта это было бы лаконично, понятно и удобно в функциональном плане
Не повторяйте глупостей CodeIgniter. Ваша cms - это зависимость под вашим вендорингом, она не должна быть вперемешку с проектом на этой cms.PS: использовать composer не планирую, все библиотеки будут писаться мной, но планируется что для данной CMS системы могут разрабатываться сторонние модули и плагины.
Зря, не делайте глупость. Автолоад и управление зависимостями - это решенная задача. Ваш вариант не будет лучше, примите за исходную.В проекте есть строгая классификация папок, грубо говоря классы модуля должны быть в папке с названием модуля внутри папки modules.....
Что мешает сделать систему конфигурации у каждого модуля? Жесткое позиционирование файлов/каталогов - это как выровнять людей по высоте с помощью циркулярки))небольшие пояснения о том что подразмевается под modules | components | plugins
Ваша классификация мягко говоря не очевидна. Обычно модуль - это некая крупная часть системы, состоящая из компонет. В вашей класификации плагин и модуль - это одно и тоже, просто разными словами.
С моей точки зрения в этом разделении смысла нет. Это все равно некие зависимости вашего проекта на базе cms, просто они могут быть не портабельные, а разрабатываться под конкретный проект.
А вот разделение по MVC было бы вполне не плохо. Не забудьте про консольное выполнение.каждый элемент системы как и сама система будут реализованы на основе MVC
Если я правильно понимаю это получиться что-то типа HMVC. Если так - вам придется вывернуться на изнанку, что бы получилось И гибко И производительно И саппортабельно.