You can draw circles with lines. Most circles are drawn with lines, it's just that it's not noticeable because the segments are so small (usually around 64 line segments is good enough to make a round-looking circle). If you want a filled circle, you use filled triangles.
I found this was the standard way of doing things in OpenGL, but somehow never thought to transfer that knowledge to another platform. Thanks for the connection!
Not having image scaling sounds like a big problem though. Although note that many resolution-independent games do not scale sprites, they just show more of the map and more sprites at once.
That always feels like cheating to me.
I guess it's the quickest path to independence and the least demanding on the content library. I'm working on an action puzzler, though, where taking that route would lead to a tiny board in the middle of the screen.