Others have suggested greasing the dowel or using bearings, and if the issue was friction, then they'd be right.
If the issue is inertia, then this won't help. Accelerating a given mass to a given velocity requires a certain amount of energy, no matter what.
What could help is something similar to a Huygen drive, where the filament is looped around a large wheel (large enough that the filament can curve around it without breaking) which is able to move against a spring or counterweight. This would allow the movement of the spool to be "averaged out" rather than accelerating and decelerating sharply on every extrusion and retraction.
There's a few ways to do this. Which one is "best" for you depends on how technical you expect your audience to be.
The easiest way for you is probably to just tell your users that you use some or another library and that they need to have it installed.
The easiest way for your users is to copy/paste the parts of the library that you use into your code. The threads library you linked is CC0 so you can do that. This also futureproofs your design against changes that break this library and against this library becoming unavailable. (Normally copy/pasting from libraries is discouraged as this futureproofs designs against improvements in the library as well, but IMHO certain OpenSCAD libraries should be considered an exception to this rule. If a library renders the shapes that you want fast enough to make improvements irrelevant, there's no need to keep the library external.)