What are some good cross-platform alternatives to Windows-specific 2D APIs? I'm looking for an API for rendering simple geometric objects as well as an API for rendering text with subpixel antialiasing (ClearType) and OpenType support, specifically support for hinting.