Because Function is itself a function:
typeof Function === 'function'
Object.getPrototypeOf(Function) === Function.prototype
And you can see it being called as a function (a form of indirect eval):
Function('return 1+2')() === 3
All that as defined in the spec.
zerkms asked in a comment above:
Which came first - the Function object or the Function prototype?
We have to understand that what's exposed to us, the puny programmers, is different than what's represented internally. This can be exemplified by overriding the Array constructor (tip: don't try this while writing an answer, you'll get a lot of errors):
new Array(0, 1, 2); //gives you [0, 1, 2]
Array = function () { return [4] };
new Array(0, 1, 2); //gives you [4]
//however,
[0, 1, 2] //will always give you [0, 1, 2]
This is because of a section in the spec (a bit down, in the "semantics" section):
Let array be the result of creating a new object as if by the expression new Array() where Array is the standard built-in constructor with that name.
Using the array literal (or array initializer as the spec calls it) you ensure that you use the built-in Array constructor.
Why did I give this example? First of all, because it's a fun example. Second, to demonstrate how what we do and what's actually done are different. To answer zerkms, the Function object most likely came first, but that was not the first function. We don't have access to that built-in function.