This is designed as a base class, usable on it's own, but also as a parent for classes that show this list inside a menu. For Lazarus menu version, see TLazRecentFiles. For TCastleWindowCustom menu version, see TCastleRecentFiles.
If MaybeStdIn, then we treat URL = '-' specially: it's ignored. Use this if your program interprets '-' as "load file from standard input", such files should not be added to recent files menu.
Note that we want to store only absolute URLs. So this method will always call AbsoluteURI (which will eventually call ExpandFileName on filename inside, and make sure it has appropriate protocol) on the given URL.