For a while now I've been using Zotero for this. It was designed to help researchers organize papers they want to reference, but it also has the ability to take "snapshots" of web pages and store them in its library. It works as a browser plugin that just gives you a toolbar icon to save a web page. There is a separate "standalone" program that manages your library.
With regard to your desiderata:
1) It saves the article HTML, i.e., the web page as it exists on the site, so it's not tied to any particular app. However, the scheme for storing these files on disk is rather opaque; they are stored in a tree of directories with uninformative names like "ICPQA6PS". This means that it could be difficult to locate a particular article if you didn't have Zotero. On the other hand, since they are just files, you could use ordinary operating system search abilities to find the file. Either way, once you do find the file, you can open it with a web browser as usual.
2) I haven't used it on Mac myself, but the site says there is a Mac version of Zotero standalone. The browser plugin should work on any OS.
3) Zotero doesn't render the article itself. Instead, as mentioned above, it saves the HTML. The program does provide a way for you to reopen the article, but that just opens it with your web browser, not within Zotero. (You can choose to reload the original page you visited, or open the saved snapshot.)
4) You can tag any item with whatever you like, and filter/search by tags.
5) Unfortunately it doesn't meet this criteria. It does apparently have the ability to search within PDFs (if what you saved was a "good" PDF and not, say, a poor scan), and it can search within titles and "abstracts" (which it populates with things like the subheadline for news articles).
It does have some disadvantages:
1) It does not always snapshot pages correctly. Usually the problem happens if the page uses a lot of scripting and/or is behind a paywall. Some sites apparently go to great effort to prevent people from effectively saving their pages. If a particular page is important to you, be sure to check the snapshot to see that it really has the content. Also, in my experience, even if the snapshot appears to be invalid (e.g., when you view it says "You must log in" or the like), often the article content is there but hidden somewhere in the page markup, so if you really needed to you could probably get it out. (It's worth noting that, in my experience, virtually all software that tries to save a webpage suffers from this problem to some extent. Many webpages have a lot of scripting that puts them in constant communication with a server somewhere, and there isn't any way to snapshot that kind of dynamic process.)
2) It requires coordinating your activity between the browser and the standalone program. To save the article, you have to click the browser toolbar button, but to do anything else (e.g., add tags, search your library) you need to use the standalone program. Overall I've gotten used to this but it is perhaps not ideal. (Zotero's Firefox plugin used to have the ability to manage the library from within Firefox, but this was killed by Mozilla's execrable decision to eviscerate the Firefox extension system.)
It also has some useful features you didn't specifically mention. The facilities for managing, sort, search, and generally organize your library are quite full-featured. It is typically able to automatically extract a considerable amount of useful metadata (e.g., if you visit a news site and save the page, it will often figure out the author, publication, etc., and stick them in the appropriate metadata slots). Because it was designed for research purposes, it also provides tools for exporting citations, etc. Finally, again due to its research pedigree, it is especially nice if you're saving things like scientific articles; it has built-in, special-purposes processors for many scientific publishing websites (such as Elsevier) so that if you save an article, it will automatically download and save the PDF version and link it to the metadata.
It's not perfect but it's pretty useful overall.