Во-первых, функции main в библиотеке быть не может, библиотека - просто расширение функционала для проекта в котором будет использоваться. Main - служит начальной точкой для исполняемых приложений, если сильно не извращаться, а следственно должна быть определена только в проекте, который собирается быть исполняемым.
Во-вторых, в чем проблема с MainScene? Вы просто создаете
интерфейс базового класса, потом пользуетесь им получая указатель на объект его реализации, просто необходимо дать пользователю возможность отправить этот указатель вам через какую-либо функцию библиотеки.