I want to check for function and procedure if they exist or not including those created by the users as well as system functions
Are you aware that even in the same schema multiple functions and procedures can share the same "name"?
proowner whether it is a system function or user-defined?
That seems like a poor test for that property. A system function is one that exists in the pg_catalog schema, which is the schema the system places all of its objects into.