By putting the stored pkgs, procs and funcs in the tables schema, you can avoid a lot of grants. On the other hand, by putting them in there own schema, allows a third party create and maintain stored pkgs, procs and funcs without having DBA or schema owner passwords.
It depends on how your IT department is and will be structured. I prefer to put them in their own schma so that I am not responsible for their management and I can control what tables they access and the type of access they have. This is also useful from a capacity planning standpoint because you know when something is inserting or updating records in a table that was previously unused.
You just need to grant the permissions and recompile.