I want to agree with Ashley on something here - working around software limitations is truly something everyone has or will face at some point, and that OK. In fact, it can be quite fun to break the loop and make you think outside the box for a second.
The game I've worked on for the past 3 years uses exactly 2 additional addons, one of them is Greenworks and the other Bound to Viewport (thank you skymen) can be recreated with events, but I wanted to see what it would feel like to use 3rd party addons, so I keep it in there. I use two JS libraries, one is generating very slick random IDs and the other one was made obsolete with the latest Construct stable release and the addition of Cryptography plugin. That leaves me with a handful of JS lines that I use on a project with 3123/2653/2303 ACE.
My point being, every time I hit a wall, it wasn't the limitations of the engine that stopped me from continuing further, it was my limited knowledge at the time.
I'll give a recent example - I'm a huge perfectionist, I can't have something that works somewhat, I need it to work exactly as I want it to. That's why I had a very bad couple of days trying to figure out how to make the player stick to a sticky surface on any given side. The Platform behavior was not playing ball and was messing tons of other conditions, since I have various ways a player or the surface itself can move. My player movement logic alone is 200 events (and that's not including the input method logic). Then I saw the gif of that one guy making his player go up slopes by using elevating platforms and it hit me, instead of trying to mess with the player, I can simply spawn a solid object under it so it seems like it's stuck on that surface, then apply whatever animations I need to make it look like it's stuck when it's actually just sitting on an invisible ground in mid-air. Then when a given action is performed, remove that invisible ground and the player is no longer stuck. That worked perfectly!
In that regard, I do not support messing with the engine code itself in undocumented ways nor do I think it's necessary. However, I don't see an issue with cloning an official plugin for example, renaming it, adding it to your project and messing with its code that way, and from what you guys are saying, that's not possible? Either way, not for me, but I'm sure many people will benefit from more ways to expand the engine core while at the same time avoiding "development hell" for Scirra.