What is the minimal structure required to talk about “directionality” and “angles”? Intuitively speaking, vector spaces are inherently endowed with a concept of “directionality”, since a vector is intuitively an arrow in some direction.
But if I’m not mistaken, we need to endow the vector space with an inner product to really talk about angles and directionality, but I’m not sure.
What is the most general structure on a set that formalizes the general intuitive notion of “direction”? (I am looking for something analogous to how topological spaces are the most general notion that formalizes “nearness” or “touchness”).
 A: Every vector space has the concept "direction" in the form of equivalence classes of vectors: Two non-zero vectors point in the same direction if they are linearly dependent. The directions are then the equivalence classes of non-zero vectors. Let's call them “projective directions” because those equivalence classes are exactly how the projective space is constructed.
However with this definition, a vector points in the same direction as its negative, which is not quite what we commonly consider “the same direction”.
To go further, we need a vector space over an ordered field (such as the rational numbers, or the real numbers). Then we can refine that definition to say that two vectors point in the same direction if they are a positive multiple of each other. Again, the directions are the equivalence classes of vectors. Two of these exist for each projective direction, corresponding to a vector and its negative. We call the direction of $-v$ the opposite of the direction of $v$.
However our directions are still unrelated to each other, except for the concept of opposite direction. To go a bit further, we can assume a topological vector space, and look at the function that maps each vector to its direction. Then we can define a topology on the directions by just declaring that a set of directions is open iff the preimage of this set under the aforementioned function is open. This implies that the map of a vector to its direction is continuous. In particular, if a sequence of vectors converges to a specific vector, then the sequence of their directions converges to the limit vector's direction. This clearly is a desirable property.
I think this topological space of directions matches best the intuitive concept of “direction” when not introducing angles. In particular, we get the exact concepts of “same direction” and “opposite direction”, and “close directions” in the same sense as “close points” in a general topological space.
If you want to define the set of directions without referring to a vector space, those properties could be formalized as follows:
A direction space is a topological space together with a continuous bijection "opposite" with no fixed point, whose composition with itself gives the identity function.
A: This isn't a very good answer, but so far it's the only one on offer.  A matroid is a sort of general model of independence, which applies to a great many situations. One of these is that an arbitrary vector space can be construed as a matroid, with a set of vectors "independent" in the matroid sense if and only if they are linearly independent.  
I think this is probably much more general than what you are hoping for, since its understanding of directionality is so coarse: it can only tell you when vectors point in the exact same direction. But maybe it will be of some use.
