So then instead of modifying and pull(ing) out classes and functions from a place, the REST API is used to do exactly that.
You can, of course, do it but I would not recommend it.
The REST API was created to make things like that work in a good and easy fashion (So an outside website or Application) can talk to the forum.
When you say limited (What is it that you mean with it) What functionality are you missing?
As with the API, you can do the following.
Full CRUD functionality (Create, Read (View), Update, Delete) for (Forum, Calendar, Downloads, Blog, Gallery, E-Commerce)
Check if a user is logged in or not.
Create, Update, View, Delete Users from your application
So I'm not sure what you are referring to as limited / lacking.